package com.dengdai.pullrefresh.library;

import com.dengdai.pullrefresh.library.PullToRefreshBase.*;

import android.view.View;
import android.view.animation.Interpolator;

/**
 * @说明 刷新方法
 * @作者 LY
 * @时间 2015年12月22日 下午2:57:35
 * @版权 Copyright(c) 2015 LY-版权所有
 * @邮箱 dengdai.ly@qq.com
 */
public interface IPullToRefresh<T extends View> {

	public boolean demo();

	public Mode getCurrentMode();

	public boolean getFilterTouchEvents();

	public ILoadingLayout getLoadingLayoutProxy();

	public ILoadingLayout getLoadingLayoutProxy(boolean includeStart, boolean includeEnd);

	public Mode getMode();

	public T getRefreshableView();

	public boolean getShowViewWhileRefreshing();

	public State getState();

	public boolean isPullToRefreshEnabled();

	public boolean isPullToRefreshOverScrollEnabled();

	public boolean isRefreshing();

	public boolean isScrollingWhileRefreshingEnabled();

	public void onRefreshComplete();

	public void setFilterTouchEvents(boolean filterEvents);

	public void setMode(Mode mode);

	public void setOnPullEventListener(OnPullEventListener<T> listener);

	public void setOnRefreshListener(OnRefreshListener<T> listener);

	public void setOnRefreshListener(OnRefreshListener2<T> listener);

	public void setPullToRefreshOverScrollEnabled(boolean enabled);

	public void setRefreshing();

	public void setRefreshing(boolean doScroll);

	public void setScrollAnimationInterpolator(Interpolator interpolator);

	public void setScrollingWhileRefreshingEnabled(boolean scrollingWhileRefreshingEnabled);

	public void setShowViewWhileRefreshing(boolean showView);
}